草庐IT

Python 将 numpy 数组写入 CSV 文件

全部标签

ruby-on-rails - 从数组中检索 x 个随机元素

我正在努力编写一个干净的方法,当传递一个字符串数组和x时返回一个随机的数组元素列表,总计x,例如。defgetrandomarrayelements(thearray,howmany)return[something]end是的,我应该提交我现有的代码,虽然效果不好,但它有8行长,我觉得它可以一次完成?! 最佳答案 在ruby1.9中:irb(main):001:0>[1,2,3,4,5].sample(3)=>[2,4,5]irb(main):002:0>[1,2,3,4,5].sample(3)=>[2,5,3]对于ruby​​

ruby-on-rails - Rails 如何使用 image_tag 列出文件夹中的所有图像?

我正在尝试获取“app/assets/images/slide”文件夹中的所有图像并将它们放入标签(按顺序)。所以,它看起来像这样:我怎样才能做到这一点?(我使用的是Rails3.2.9)这是我试过的代码(感谢Khaled)。但它输出所有图像路径的纯文本列表。我需要显示图像:@images=Dir.glob("app/assets/images/slide/*.jpg")@images.eachdo|image|image_tagimage.gsub("app/assets/images/","")end 最佳答案 在您的Contr

ruby - 强制标量或数组成为数组

有时我希望一个变量始终是一个数组,无论它是一个标量还是已经是一个数组。所以我通常这样做:[variable].flatten与ruby​​-1.8.5、1.8.7、1.9.x兼容。当variable是一个字符串(variable="asdf")时,使用此方法,它会给出["asdf"]。如果它已经是一个数组(variable=["asdf","bvcx"]),它会给我:["asdf","bvcx"]。谁有更好的办法?“更好”意味着更易读、更高效、更简洁或在其他方面更有效。 最佳答案 Array(variable)应该可以解决问题。它使

ruby - 您可以在 irb session 中自动在每个命令上执行 'require' ruby​​ 文件吗?

我目前正在编辑一个文件,我正在使用irb来测试api:>require'./file.rb'>o=Object.new>o.method然后我希望能够编辑file.rb,并能够立即看到更改。示例:假设当我第一次需要file.rb时new_method不存在:>o.new_method这将返回一个错误。是否有沙盒/开发人员模式或方法可以实现上述目标而不必每次都重新加载文件?无论如何,在第一个要求之后要求将不起作用。我假设最坏的情况是我不得不改用负载。 最佳答案 我通常会像这样创建一个简单的函数:defreloadload'myscri

ruby - 克隆一个数组及其内容

我想复制一个数组,在不影响原始数组的情况下就地修改副本。此代码失败a=['462664','669722','297288','796928','584497','357431']b=a.cloneb.object_id==a.object_id#=>falsea[1][2]='X'a[1]#66X722b[1]#66X722副本应该不同于对象。如果它只是一个引用,为什么它表现得像? 最佳答案 您需要对数组进行深拷贝。方法是这样的Marshal.load(Marshal.dump(a))这是因为您克隆的是数组而不是其中的元素。所以数

ruby - 删除 Ruby 数组中相邻的相同元素?

ruby1.8.6我有一个包含数值的数组。我想减少它,以便将相同值的序列减少为该值的单个实例。所以我想a=[1,1,1,2,2,3,3,3,3,2,2,2,3,3,3]减少到[1,2,3,2,3]如您所见,Array#uniq在这种情况下不起作用。我有以下有效的方法:(a.size-1).downto(1){|i|a[i]=nilifa[i-1]==a[i]}谁能想出不那么丑陋的东西? 最佳答案 对于最简单、最精简的解决方案,您可以使用方法Enumerable#chunk:a.chunk(&:itself).map(&:first)

Ruby 等价于 Python 的 for/else

我一直在寻找类似Python的while/else结构的东西来改进我的代码。这意味着循环被执行,如果循环中的条件在任何时候都不为真,那么它返回else语句中的值。在ruby中,我可以这样做:if@items.empty?"Empty"else@items.eachdo|item|itemendend那么有什么办法可以改善吗?提前谢谢你。 最佳答案 请记住,迭代器block会返回您放入其中的内容,可以对其进行测试以供进一步使用。ifarr.eachdo|item|item.some_action(some_arg)end.empty?

ruby-on-rails - 将 i18n gem 与部分模板文件一起使用时出现问题

我正在使用RubyonRails3.1,我想知道如何正确处理与部分模板文件相关的国际化。也就是说,......在我的app/views/users/flag.html.erb文件中我有:"/users/flag_form"%>...在我的app/views/users/_flag_form.html.erb文件中我有:如果在我的config/locales/views/users/en.yml文件中(注意:我按照officialRoRguide中的说明组织文件)我使用en:users:flag:test_key1:Test1texttest_key2:Test2text测试1文本显示在

ruby - 如何在 Ruby 中遍历内存中的 zip 文件

我正在编写一个单元测试,其中一个正在返回一个zip文件,我想检查这个zip文件的内容,从中获取一些值,并将这些值传递给下一个测试。我正在使用机架测试,所以我知道我的zip文件的内容在last_response.body中。我查看了RubyZip的文档但它似乎总是期待一个文件。由于我正在运行单元测试,因此我更愿意在内存中完成所有操作,以免测试zip文件污染任何文件夹,如果可能的话。 最佳答案 马特的回答完全正确。此处更新为新的API:Zip::InputStream.open(StringIO.new(input))do|io|whi

ruby - 如何将字符串转换为数组数组?

我有一个字符串,里面有一个数组:"[[1,2],[3,4],[5,6]]"我可以将其转换为数组的数组,而不使用eval或正则表达式、gsub等吗?我可以把它变成:[[1,2],[3,4],[5,6]] 最佳答案 下面的怎么样?require'json'arr=JSON.parse("[[1,2],[3,4],[5,6]]")#=>[[1,2],[3,4],[5,6]]arr[0]#=>[1,2] 关于ruby-如何将字符串转换为数组数组?,我们在StackOverflow上找到一个类似的